package com.dylan.shot.common.model;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

@Table(name = "member_auth")
public class MemberAuth {
    @Id
    private Long id;

    /**
     * 会员ID
     */
    @Column(name = "member_id")
    private Long memberId;

    /**
     * 授权类型
     */
    @Column(name = "identity_type")
    private String identityType;

    /**
     * 唯一标识
     */
    private String identifier;

    /**
     * 密码凭证或token
     */
    private String credential;

    /**
     * 状态 1:正常 2:封禁
     */
    private Byte status;

    /**
     * 注册时间
     */
    @Column(name = "register_time")
    private Date registerTime;

    /**
     * 最近登录时间
     */
    @Column(name = "latest_login_time")
    private Date latestLoginTime;

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取会员ID
     *
     * @return member_id - 会员ID
     */
    public Long getMemberId() {
        return memberId;
    }

    /**
     * 设置会员ID
     *
     * @param memberId 会员ID
     */
    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    /**
     * 获取授权类型
     *
     * @return identity_type - 授权类型
     */
    public String getIdentityType() {
        return identityType;
    }

    /**
     * 设置授权类型
     *
     * @param identityType 授权类型
     */
    public void setIdentityType(String identityType) {
        this.identityType = identityType;
    }

    /**
     * 获取唯一标识
     *
     * @return identifier - 唯一标识
     */
    public String getIdentifier() {
        return identifier;
    }

    /**
     * 设置唯一标识
     *
     * @param identifier 唯一标识
     */
    public void setIdentifier(String identifier) {
        this.identifier = identifier;
    }

    /**
     * 获取密码凭证或token
     *
     * @return credential - 密码凭证或token
     */
    public String getCredential() {
        return credential;
    }

    /**
     * 设置密码凭证或token
     *
     * @param credential 密码凭证或token
     */
    public void setCredential(String credential) {
        this.credential = credential;
    }

    /**
     * 获取状态 1:正常 2:封禁
     *
     * @return status - 状态 1:正常 2:封禁
     */
    public Byte getStatus() {
        return status;
    }

    /**
     * 设置状态 1:正常 2:封禁
     *
     * @param status 状态 1:正常 2:封禁
     */
    public void setStatus(Byte status) {
        this.status = status;
    }

    /**
     * 获取注册时间
     *
     * @return register_time - 注册时间
     */
    public Date getRegisterTime() {
        return registerTime;
    }

    /**
     * 设置注册时间
     *
     * @param registerTime 注册时间
     */
    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    /**
     * 获取最近登录时间
     *
     * @return latest_login_time - 最近登录时间
     */
    public Date getLatestLoginTime() {
        return latestLoginTime;
    }

    /**
     * 设置最近登录时间
     *
     * @param latestLoginTime 最近登录时间
     */
    public void setLatestLoginTime(Date latestLoginTime) {
        this.latestLoginTime = latestLoginTime;
    }
}